package com.baseframe.launch.service;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.core.Ordered;

public interface BaseLauncherService extends Ordered, Comparable<BaseLauncherService> {

    void launcher(SpringApplicationBuilder builder, String appName, String profile, boolean isLocalDev);

    /**
     * 获取排列顺序
     *
     * @return order
     */
    @Override
    default int getOrder() {
        return 0;
    }

    /**
     * 对比排序
     *
     * @param o LauncherService
     * @return compare
     */
    @Override
    default int compareTo(BaseLauncherService o) {
        return Integer.compare(this.getOrder(), o.getOrder());
    }
}
